#ifndef WXSCONTAINER_H
#define WXSCONTAINER_H

#include "wxsparent.h"
#include "wxsstyle.h"
#include "wxsbaseproperties.h"
#include "wxsflags.h"

#include <prep.h>

using namespace wxsFlags;


class wxsContainer: public wxsParent {
  public:


    wxsContainer(
      wxsItemResData* Data,
      const wxsItemInfo* Info,
      const wxsEventDesc* EventArray = 0,
      const wxsStyleSet* StyleSet = 0,
      long PropertiesFlags = flContainer );

  protected:


    virtual void OnEnumContainerProperties( long Flags ) = 0;


    virtual void OnAddContainerQPP( M_Code_unused wxsAdvQPP* QPP ) { }


    virtual bool OnCanAddChild( wxsItem* Item, bool ShowMessage );


    void AddChildrenPreview( wxWindow* This, long Flags );


    void AddChildrenCode();

  private:


    virtual void OnEnumItemProperties( long Flags );


    virtual void OnAddItemQPP( wxsAdvQPP* QPP );
};

#endif
